package com.snpic.appaw.module.insure.controller.app.cxOrder.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "用户 APP - 车险订单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AppCxOrderDORespVO {

    @Schema(description = "序列ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("序列ID")
    private Long id;

    @Schema(description = "产品代码")
    @ExcelProperty("产品代码")
    private String productCode;

    @Schema(description = "唯一流水号")
    @ExcelProperty("唯一流水号")
    private String sessionid;

    @Schema(description = "用户id")
    @ExcelProperty("用户id")
    private String customerId;

    @Schema(description = "订单号")
    @ExcelProperty("订单号")
    private String orderNo;

    @Schema(description = "车辆投保省代码")
    @ExcelProperty("车辆投保省代码")
    private String provinceCode;

    @Schema(description = "车辆投保省名称")
    @ExcelProperty("车辆投保省名称")
    private String provinceName;

    @Schema(description = "车辆投保城市代码")
    @ExcelProperty("车辆投保城市代码")
    private String cityCode;

    @Schema(description = "车辆投保城市名称")
    @ExcelProperty("车辆投保城市名称")
    private String cityName;

    @Schema(description = "是否新车 0否1是")
    @ExcelProperty("是否新车 0否1是")
    private String newcarFlag;

    @Schema(description = "具体车牌号或者“新车未上牌”")
    @ExcelProperty("具体车牌号或者“新车未上牌”")
    private String plateno;

    @Schema(description = "车主姓名")
    @ExcelProperty("车主姓名")
    private String ownerName;

    @Schema(description = "车主手机号")
    @ExcelProperty("车主手机号")
    private String ownerMobile;

    @Schema(description = "车主身份证号码")
    @ExcelProperty("车主身份证号码")
    private String ownerIdno;

    @Schema(description = "车主邮箱")
    @ExcelProperty("车主邮箱")
    private String ownerEmail;

    @Schema(description = "车主地址")
    @ExcelProperty("车主地址")
    private String ownerAddress;

    @Schema(description = "收件人姓名")
    @ExcelProperty("收件人姓名")
    private String sjrName;

    @Schema(description = "收件人手机号")
    @ExcelProperty("收件人手机号")
    private String sjrMobile;

    @Schema(description = "收件人邮箱")
    @ExcelProperty("收件人邮箱")
    private String sjrEmail;

    @Schema(description = "收件人邮编")
    @ExcelProperty("收件人邮编")
    private Integer sjrZipcode;

    @Schema(description = "配送省份代码")
    @ExcelProperty("配送省份代码")
    private String addressseeprovincecode;

    @Schema(description = "配送省份")
    @ExcelProperty("配送省份")
    private String addressseeprovinces;

    @Schema(description = "配送城市代码")
    @ExcelProperty("配送城市代码")
    private String addressseecitycode;

    @Schema(description = "配送城市")
    @ExcelProperty("配送城市")
    private String addressseecity;

    @Schema(description = "配送县区代码")
    @ExcelProperty("配送县区代码")
    private String addressseetowncode;

    @Schema(description = "配送县区")
    @ExcelProperty("配送县区")
    private String addressseetown;

    @Schema(description = "配送详细地址")
    @ExcelProperty("配送详细地址")
    private String psAddress;

    @Schema(description = "支付方式，枚举")
    @ExcelProperty("支付方式，枚举")
    private String payments;

    @Schema(description = "订单状态 0：未支付  1：已支付")
    @ExcelProperty("订单状态 0：未支付  1：已支付")
    private String orderStatus;

    @Schema(description = "订单生成时间")
    @ExcelProperty("订单生成时间")
    private LocalDateTime insertTime;

    @Schema(description = "商业险投保单号")
    @ExcelProperty("商业险投保单号")
    private String businessAppno;

    @Schema(description = "交强险投保单号")
    @ExcelProperty("交强险投保单号")
    private String forceAppno;

    @Schema(description = "商业险保单号")
    @ExcelProperty("商业险保单号")
    private String businessPolno;

    @Schema(description = "交强险保单号")
    @ExcelProperty("交强险保单号")
    private String forcePolno;

    @Schema(description = "失败原因")
    @ExcelProperty("失败原因")
    private String refuseReason;

    @Schema(description = "交强险投保查询码")
    @ExcelProperty("交强险投保查询码")
    private String jqinsurancequerycode;

    @Schema(description = "商业险投保查询码")
    @ExcelProperty("商业险投保查询码")
    private String buinsurancequerycode;

    @Schema(description = "渠道来源：1、微信公众号2、分享进入3、APP")
    @ExcelProperty("渠道来源：1、微信公众号2、分享进入3、APP")
    private String orderChannel;

    @Schema(description = "支付验证码")
    @ExcelProperty("支付验证码")
    private String payCheckcode;

    @Schema(description = "总投保单号")
    @ExcelProperty("总投保单号")
    private String appno;

    @Schema(description = "总保单号")
    @ExcelProperty("总保单号")
    private String polno;

    @Schema(description = "计算类型 1-单交强，2-单商业，3-混保")
    @ExcelProperty("计算类型 1-单交强，2-单商业，3-混保")
    private String flag;

    @Schema(description = "用户openId")
    @ExcelProperty("用户openId")
    private String openId;

    @Schema(description = "投保日期")
    @ExcelProperty("投保日期")
    private LocalDateTime insureDate;

    @Schema(description = "承保日期")
    @ExcelProperty("承保日期")
    private LocalDateTime underwriteDate;

    @Schema(description = "风险评级(交强)(a,b,c,d)")
    @ExcelProperty("风险评级(交强)(a,b,c,d)")
    private String elrLevelCtp;

    @Schema(description = "风险评级(商业)(a,b,c,d)")
    @ExcelProperty("风险评级(商业)(a,b,c,d)")
    private String elrLevelCom;

    @Schema(description = "风险评级(整单)(a,b,c,d)")
    @ExcelProperty("风险评级(整单)(a,b,c,d)")
    private String elrLevelAll;

    @Schema(description = "交管车辆查询码")
    @ExcelProperty("交管车辆查询码")
    private String checkno;

    @Schema(description = "校验码/图片字符串")
    @ExcelProperty("校验码/图片字符串")
    private String checkcode;

    @Schema(description = "交易号")
    @ExcelProperty("交易号")
    private String tradeno;

    @Schema(description = "北京地区身份证有效起期")
    @ExcelProperty("北京地区身份证有效起期")
    private LocalDateTime certiStartdate;

    @Schema(description = "北京地区身份证有效止期")
    @ExcelProperty("北京地区身份证有效止期")
    private LocalDateTime certiEnddate;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "备注")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "保费")
    @ExcelProperty("保费")
    private String premium;

    @Schema(description = "推荐人代码")
    @ExcelProperty("推荐人代码")
    private String refereeCode;

    @Schema(description = "车主所在地省代码")
    @ExcelProperty("车主所在地省代码")
    private String ownerProvinceCode;

    @Schema(description = "车主所在地省名称")
    @ExcelProperty("车主所在地省名称")
    private String ownerProvinceName;

    @Schema(description = "车主所在地市代码")
    @ExcelProperty("车主所在地市代码")
    private String ownerCityCode;

    @Schema(description = "车主所在地市名称")
    @ExcelProperty("车主所在地市名称")
    private String ownerCityName;

    @Schema(description = "车主所在地区代码")
    @ExcelProperty("车主所在地区代码")
    private String ownerAreaCode;

    @Schema(description = "车主所在地区名称")
    @ExcelProperty("车主所在地区名称")
    private String ownerAreaName;

    @Schema(description = "人车联动方案代码")
    @ExcelProperty("人车联动方案代码")
    private String rcldProductCode;

    @Schema(description = "人车方案产品名称")
    @ExcelProperty("人车方案产品名称")
    private String rcldProductName;

    @Schema(description = "产品保费")
    @ExcelProperty("产品保费")
    private String productAmount;

    @Schema(description = "人车联动保单号")
    @ExcelProperty("人车联动保单号")
    private String rcldPolno;

    @Schema(description = "人车联动投保单号")
    @ExcelProperty("人车联动投保单号")
    private String rcldAppno;

    @Schema(description = "回溯码")
    @ExcelProperty("回溯码")
    private String huishuoCode;

    @Schema(description = "续保标识")
    @ExcelProperty("续保标识")
    private String renewInsuranceFlag;

    @Schema(description = "车辆类型 0-家用车 1-摩托车")
    @ExcelProperty("车辆类型 0-家用车 1-摩托车")
    private String cartype;

    @Schema(description = "O")
    @ExcelProperty("O")
    private String o;

    @Schema(description = "(家用车)订单医保外用药（乘客责任）新旧显示标识符 0/空-历史订单 1-新订单 默认为")
    @ExcelProperty("(家用车)订单医保外用药（乘客责任）新旧显示标识符 0/空-历史订单 1-新订单 默认为")
    private String historyStatus;

    @Schema(description = "原始oracle中的id，用于数据迁移")
    @ExcelProperty("原始oracle中的id，用于数据迁移")
    private Long oldId;

}